/**
 * @Author 12629
 * @Date 2022/4/19 19:22
 * @Description： IDEA本身的运行时非常的吃内存的 8G+
 */
public class TestDemo {

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //a = 10,b=20
        //System.out.println("a = "+a+" ,b= "+b);
        System.out.println("a+b = "+a+b);
        System.out.println("a+b = "+(a+b));
        System.out.println(a+b+"hahaheiheihei!");
    }

    public static void main14(String[] args) {
        String str = "1234";
        int a = Integer.parseInt(str);//我记不住 ，不用担心。
        System.out.println(a+1);

        int i = 1234;
        String ret2 = i+"";

        String ret = String.valueOf(i);
        System.out.println(ret);

        StringBuilder sb = new StringBuilder("hello");
        sb.reverse();
        System.out.println(sb);
    }

    public static void main13(String[] args) {
        String str = "ababcabcd";
        System.out.println(str.length());
        System.out.println(str.toUpperCase());
        System.out.println(str.replace("ab","pp"));
    }

    public static void main12(String[] args) {
        int a = 100;
        long b = 200L;
        int c = (int)(a+b);
        System.out.println(c);
    }

    public static void main11(String[] args) {
        byte a = 127;
        byte b = 2;
        byte c = (byte)(a+b);//
        System.out.println(c);

        int i = 10;
        float f = 19.9f;
        i = (int)f;

        char ch = 97;
        char ch2 = (char)(ch+2);
        System.out.println(ch2);
    }

    public static void main10(String[] args) {
        int a = 10;
        long b = 100L;
        //b = a;//隐式类型转换【小类型-》大类型】
        a = (int)b;//编译报错->强制类型转换(int)确定的过程【大类型给小类型】
    }


    /**
     * boolean类型 非常特殊 ，JVM没有明确的大小
     * 包装类：Boolean
     *
     * @param args
     */
    public static void main9(String[] args) {
        /*boolean flg = true;
        boolean flg2 = false;
        System.out.println(flg);
        System.out.println(flg2);*/
        boolean flg = true;
//        System.out.println(flg+1); ctr+/
    }

    /**
     * 字符型：不是整数类型
     * 1、  2个字节，不能表示负数
     *  0 - 65535
     *  Java当中 使用的是Unicode字符集【可以认为他包含这个Ascii】
     *  Unicode字符集：包含了很多的语言-》中文，拉丁文，....
     *  Ascii字符集：只能表示英文相关的
     * @param args
     */
    public static void main8(String[] args) {
        char ch = 'a';
        char ch2 = '高';
        char ch3 = 97;
        System.out.println(ch3);//Character
    }

    public static void main7(String[] args) {
        double d = 19.9;
        System.out.println(d);

        double a = 1;
        double b = 2;
        System.out.println(a/b);

        int c = 1;
        int c2 = 2;
        System.out.println(c*1.0/c2);

        //float精确到小数点后6位-》todo:作业：查一下double可以精确到几位
        double num = 1.1;
        System.out.println(num*num);
    }

    public static void main6(String[] args) {
        float f = 12.5f;
        System.out.println(f);
    }


    /**
     * 字节型：
     * 1、占用1个字节
     * 8位-》7位    -2^7   2^7 -1
     *            -128  -  127
     * @param args
     */
    public static void main5(String[] args) {
        byte a = 127;
        byte b = (byte)(a+1);
        System.out.println(b);
        /*System.out.println("最大值："+Byte.MAX_VALUE);
        System.out.println("最小值："+Byte.MIN_VALUE);*/
    }


    /**
     * 短整型：
     * 1、2个字节-》 16位-》15位
     *            -2^15    .....        2^15 -1
     * 2、没有无符号的，只有有符号的
     * 3、包装类类型-》Short
     * @param args
     */
    public static void main4(String[] args) {
        short sh = 19;
        System.out.println(sh);
        System.out.println("最大值："+Short.MAX_VALUE);
        System.out.println("最小值："+Short.MIN_VALUE);
    }


    /**
     * 为什么会有长整型，必然是int 不能够存储了。
     * 长整型：
     * 1、他占8个字节-》64位-》63位
     *         -2^63               2^63  -1
     * 2、不管你是多少位的操作系统
     *
     * @param args
     */
    public static void main2(String[] args) {
        long a = 10l;
        System.out.println(a);
        System.out.println("最大值："+Long.MAX_VALUE);
        System.out.println("最小值："+Long.MIN_VALUE);
    }

    int count = 10;//这是什么？？？ 不着急，后面我们再类和对象的课件会重点讲解的。成员变量
    /**
     * 整型：
     * 1、大小：4个字节 【可移植性强：不管你是32位还是64位，你的int 就是4个字节】
     * 2、在JAVA里面，int没有所谓的无符号整数。所以，int既能表示整数，也能表示负数
     *
     * @param args
     */
    public static void main1(String[] args) {
        //数据类型  变量名 = 数值
        int a = 10;
        System.out.println(a);
        System.out.println("最大值："+Integer.MAX_VALUE);
        System.out.println("最小值："+Integer.MIN_VALUE);

        int b = 9;
        b = 19;
        b = 29;
        System.out.println(b);
    }

}
